Chromebook 安装 Debian 12 testing
缘起
本来这台 HP Chromebook 11A G6 EE( 加了一张 128G 的 TF 卡 ),我安装好了 Arch Linux(Xfce),都弄好了的,但最近在知乎上老被安利说装 Debian 的 testing 版,于是我又开始折腾,把 Debian 13 testing(trixie) 安装到这台 Chromebook 上。
安装时,使用 lvm 分区不成功,系统报错:
partman-lvm: pvcreate: error while loading shared libraries: libaio.so.1: cannot open shared object file: no such file or directory
现在想想可能还有其他办法,比如想办法把这个需要的包注入进去,但当时选择了先用 ext4 分区安装系统自带的 16G 的卡里,装完以后再想办法转成 lvm 并把 TF 卡的空间加进来。
具体步骤
ext4 在自带存储上安装
自带存储的设备号是:/dev/mmcblk1,容量只有 16G
这一步基本上没什么问题,我只讲一下最后自带存储的分区:
- 分区 1,vfat 格式,挂在 /boot/efi
- 分区 2,ext4 格式,挂在 /
将 / 迁移到 TF 卡(lvm)
这一步应该是重中之重,难度、复杂度都在这里。
处理 TF 卡
TF 卡的设备号是:/dev/mmcblk0,容量 128G
1 | apt-get install lvm |
迁移数据到 /dev/vg_root/lv_root
1 | mkdir /mnt/new_root |
接着还要修改新根区下 etc/fstab 的内容,将挂载在 / 的设备改成 /dev/vg_root/lv_root
1 | vi /mnt/new_root/etc/fstab |
1 | mount --bind /dev /mnt/new_root/dev |
最后的收尾工作:
- 修改 /mnt/new_root/boot/grub/grub.conf 的内容,最好新增一条 menuentry,内容拷贝原有的
- 把显示的名字改了
- 把 initrd 的 image 文件改成前面新做成的 initrd 的 image 文件
- 如果还有涉及到 root 的 uuid 什么的,也要将原来的设备的 uuid 改成新 root 的设备 /dev/vg_root/lv_root 的 uuid(命令 blkid 里可以看到,注意:有的设备有 UUID 还有 PARTUUID,一般来讲原来用的是哪个替换的时候也要用哪个替换,如果没有对应的,那么就用 UUID 来替换)
- 修改文件 /boot/efi/EFI/debian/grub.cfg,同样也是做 uuid 的替换
最后,重启系统迁移这一步应该就好了
1 | shutdown -r now |
将自带存储加入新 / 区的 lv
自带的存储的设备是:/dev/mmcblk1,老根区的设备号是:/dev/mmcblk1p2
电脑重新起来后,登录进去
1 | wipefa -fa /dev/mmcblk1p2 |
如此,便完成了。